package com.sun.umbrella.dao;

import com.sun.umbrella.domain.bo.UserLoginSuccessBO;
import com.sun.umbrella.domain.entity.OauthUserDO;
import org.apache.ibatis.annotations.Param;

/**
 * @author Jay
 * @version v1.0
 * @description 用户字典表接口
 * @date 2017-11-24 11:15
 */
public interface OauthUserMapper {


    /**
     * 插入记录
     *
     * @param oauthUserDO
     * @return
     */
    int insert(OauthUserDO oauthUserDO);


    /**
     * 根据userName查询
     *
     * @param userName
     * @return
     */
    OauthUserDO selectByUserName(String userName);


    /**
     * 根据Id查询
     *
     * @param id
     * @return
     */
    OauthUserDO selectById(Integer id);


    /**
     * 更新用户信息
     *
     * @param oauthUserDO
     * @return
     */
    int updateById(OauthUserDO oauthUserDO);


    /**
     * 更新用户状态信息
     *
     * @param id
     * @param enable
     * @return
     */
    int updateEnableById(@Param("id") Integer id, @Param("enable") Integer enable);


    /**
     * 更新记录删除状态
     *
     * @param id
     * @param isDeleted
     * @return
     */
    int updateIsDeletedById(@Param("id") Integer id, @Param("isDeleted") Integer isDeleted);

    /**
     * 查询用户信息当登录成功后
     *
     * @param userName
     * @return
     */
    UserLoginSuccessBO queryUserInfoWhenLoginSuccess(@Param("userName") String userName);


    /**
     * 根据id更新密码
     *
     * @param password
     * @param id
     * @return
     */
    int updatePasswordById(@Param("password") String password, @Param("id") Integer id);
}